package com.ruoyi.consumer.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Options;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.mapping.ResultSetType;

import com.ruoyi.consumer.domain.Account;

/**
 * 账户表Mapper接口
 * 
 * @author ruoyi
 * @date 2020-05-25
 */
public interface AccountMapper 
{
    /**
     * 查询账户表
     * 
     * @param accountId 账户表ID
     * @return 账户表
     */
    public Account selectAccountById(String accountId);

    /**
     * 查询账户表列表
     * 
     * @param account 账户表
     * @return 账户表集合
     */
    public List<Account> selectAccountList(Account account);

    /**
     * 新增账户表
     * 
     * @param account 账户表
     * @return 结果
     */
    public int insertAccount(Account account);

    /**
     * 修改账户表
     * 
     * @param account 账户表
     * @return 结果
     */
    public int updateAccount(Account account);

    /**
     * 删除账户表
     * 
     * @param accountId 账户表ID
     * @return 结果
     */
    public int deleteAccountById(String accountId);

    /**
     * 批量删除账户表
     * 
     * @param accountIds 需要删除的数据ID
     * @return 结果
     */
    public int deleteAccountByIds(String[] accountIds);
    
    /**
     * 
     * <提交账户信息>
     * <功能详细描述>
     * @param account
     * @return
     * @see [类、类#方法、类#成员]
     */
    @Insert("insert into tb_account(account_id,bank,bank_code,file_path,id_name,id_code) values(#{accountId},#{bank},#{bankCode},#{filePath},#{idName},#{idCode})")
    public boolean subIdCard(Account account);

    @ResultMap("AccountResult")
    @Select("select * from tb_account where consumer_id = #{consumerId}")
    public Account selectAccountByConsumerId(String consumerId);
}
